#include <stdio.h>

int main(int argc, char const *argv[])
{
    int i = 0x55aa; // 0x000055aa
    int j = (char)(i++);

    printf("%#x\n", j);

    // 有符号数左移时，补0
    // 无符号数左移时，补0

    // 有符号数右移时，补符号位（ <<== 此题考这个知识点）
    // 无符号数右移时，补0

    // 由于aa的符号位是1，因此被扩展成int时高位全补1
    // 因此j的值就是在aa的基础上，高位全1，即：0xffffffaa
    // 另外++自增运算是干扰项，对结果无影响

    return 0;
}
